import request from '../utils/api.js'

/**
 * 分页查询佣金配置列表
 * @param {Object} params 查询参数
 * @param {number} params.page 页码
 * @param {number} params.size 每页数量
 * @param {number} params.storeId 门店ID，可选
 * @returns {Promise} Promise对象
 */
export function getCommissionConfigList(params) {
  return request({
    url: '/api/admin/commission/config/list',
    method: 'get',
    params
  })
}

/**
 * 获取佣金配置详情
 * @param {number} id 配置ID
 * @returns {Promise} Promise对象
 */
export function getCommissionConfigById(id) {
  return request({
    url: `/api/admin/commission/config/${id}`,
    method: 'get'
  })
}

/**
 * 新增佣金配置
 * @param {Object} data 佣金配置数据
 * @returns {Promise} Promise对象
 */
export function addCommissionConfig(data) {
  return request({
    url: '/api/admin/commission/config',
    method: 'post',
    data
  })
}

/**
 * 更新佣金配置
 * @param {number} id 配置ID
 * @param {Object} data 佣金配置数据
 * @returns {Promise} Promise对象
 */
export function updateCommissionConfig(id, data) {
  return request({
    url: `/api/admin/commission/config/${id}`,
    method: 'put',
    data
  })
}

/**
 * 删除佣金配置
 * @param {number} id 配置ID
 * @returns {Promise} Promise对象
 */
export function deleteCommissionConfig(id) {
  return request({
    url: `/api/admin/commission/config/${id}`,
    method: 'delete'
  })
}

/**
 * 获取门店所有等级的分销比例配置
 * @param {number} storeId 门店ID
 * @returns {Promise} Promise对象
 */
export function getStoreCommissionRates(storeId) {
  return request({
    url: `/api/admin/commission/store/${storeId}/rates`,
    method: 'get'
  })
}

/**
 * 批量更新门店的分销比例配置
 * @param {number} storeId 门店ID
 * @param {Array} data 分销比例配置列表
 * @returns {Promise} Promise对象
 */
export function batchUpdateStoreCommissionRates(storeId, data) {
  return request({
    url: `/api/admin/commission/store/${storeId}/rates`,
    method: 'put',
    data
  })
}
